home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / bcmx120.zip / MX.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-07-10  |  31KB  |  1,854 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Boolean  BOOLEAN012
  31.     Boolean  BOOLEAN013
  32.     Boolean  BOOLEAN014
  33.     Boolean  BOOLEAN015
  34.     Boolean  BOOLEAN016
  35.     Boolean  BOOLEAN017
  36.     Boolean  BOOLEAN018
  37.     Boolean  BOOLEAN019
  38.     Boolean  BOOLEAN020
  39.     Integer  INTEGER001
  40.     Integer  INTEGER002
  41.     Integer  INTEGER003
  42.     Integer  INTEGER004
  43.     Integer  INTEGER005
  44.     Integer  INTEGER006
  45.     Integer  INTEGER007
  46.     Integer  INTEGER008
  47.     Integer  INTEGER009
  48.     Integer  INTEGER010
  49.     Integer  INTEGER011
  50.     Integer  INTEGER012
  51.     Integer  INTEGER013
  52.     Integer  INTEGER014
  53.     Integer  INTEGER015
  54.     Integer  INTEGER016
  55.     Integer  INTEGER017
  56.     Integer  INTEGER018
  57.     Integer  INTEGER019
  58.     Integer  INTEGER020
  59.     Integer  INTEGER021
  60.     Integer  INTEGER022
  61.     Integer  INTEGER023
  62.     Integer  INTEGER024
  63.     Integer  INTEGER025
  64.     Integer  INTEGER026
  65.     Integer  INTEGER027
  66.     Integer  INTEGER028
  67.     Integer  INTEGER029
  68.     Integer  INTEGER030
  69.     Integer  INTEGER031
  70.     Integer  INTEGER032
  71.     Integer  INTEGER033
  72.     Integer  INTEGER034
  73.     Integer  INTEGER035
  74.     Integer  INTEGER036
  75.     Integer  INTEGER037
  76.     Integer  INTEGER038
  77.     Integer  INTEGER039
  78.     Integer  INTEGER040
  79.     Integer  INTEGER041
  80.     Integer  INTEGER042
  81.     Integer  INTEGER043
  82.     Integer  INTEGER044
  83.     Integer  INTEGER045
  84.     Integer  INTEGER046
  85.     Integer  INTEGER047
  86.     Integer  INTEGER048
  87.     Integer  INTEGER049
  88.     Integer  INTEGER050
  89.     Integer  INTEGER051
  90.     Integer  INTEGER052
  91.     Integer  INTEGER053
  92.     Integer  INTEGER054
  93.     Integer  INTEGER055
  94.     Integer  INTEGER056
  95.     String   STRING001
  96.     String   STRING002
  97.     String   STRING003
  98.     String   STRING004
  99.     String   STRING005
  100.     String   STRING006
  101.     String   TSTRING007(6)
  102.     String   STRING008
  103.     String   TSTRING009(1)
  104.     String   STRING010
  105.     String   STRING011
  106.     String   STRING012
  107.     String   STRING013
  108.     String   STRING014
  109.     String   STRING015
  110.     String   STRING016
  111.     String   STRING017
  112.     String   STRING018
  113.     String   STRING019
  114.     String   STRING020
  115.     String   STRING021
  116.     String   STRING022
  117.     String   STRING023
  118.     String   STRING024
  119.     String   STRING025
  120.     String   STRING026
  121.     String   STRING027
  122.     String   STRING028
  123.     String   STRING029
  124.     String   STRING030
  125.     String   STRING031
  126.     String   STRING032
  127.     String   STRING033
  128.     String   STRING034
  129.     String   STRING035
  130.     String   STRING036
  131.     String   STRING037
  132.     String   STRING038
  133.     String   STRING039
  134.     String   STRING040
  135.     String   STRING041
  136.     String   STRING042
  137.     String   STRING043
  138.     String   STRING044
  139.     String   STRING045
  140.     String   STRING046
  141.     String   STRING047
  142.     String   STRING048
  143.     String   STRING049
  144.     String   STRING050
  145.     String   STRING051
  146.     String   STRING052
  147.     String   STRING053
  148.     String   STRING054
  149.     String   STRING055
  150.     String   STRING056
  151.     String   STRING057
  152.     String   STRING058
  153.     String   STRING059
  154.     String   STRING060
  155.     String   STRING061
  156.     String   STRING062
  157.     String   STRING063
  158.     String   STRING064
  159.     String   STRING065
  160.     String   STRING066
  161.     String   STRING067
  162.     String   STRING068
  163.     String   STRING069
  164.     String   STRING070
  165.     String   STRING071
  166.     String   STRING072
  167.     String   STRING073
  168.     String   STRING074
  169.     String   STRING075
  170.     String   STRING076
  171.     String   STRING077
  172.     String   STRING078
  173.     Int      TINT001(6)
  174.     Int      TINT002(6)
  175.     Int      INT003
  176.     Int      INT004
  177.     Int      INT005
  178.     Int      INT006
  179.     Int      INT007
  180.     Int      INT008
  181.     Int      INT009
  182.     Int      INT010
  183.     Int      INT011
  184.     Int      INT012
  185.     Int      INT013
  186.     Int      INT014
  187.     Int      INT015
  188.     Int      INT016
  189.  
  190. ;------------------------------------------------------------------------------
  191.  
  192.     If (Upper(ReadLine(PCBDat(), 183)) == "-1") Then
  193.         BOOLEAN004 = 1
  194.     Else
  195.         BOOLEAN004 = 0
  196.     Endif
  197.     If (Upper(ReadLine(PCBDat(), 195)) == "-1") Then
  198.         BOOLEAN003 = 1
  199.     Else
  200.         BOOLEAN003 = 0
  201.     Endif
  202.     STRING052 = PPEPath() + "mnutxt\mxmnu"
  203.     STRING041 = PPEPath() + "cfg\logon.cfg"
  204.     INT003 = 1
  205.     INT004 = 2
  206.     INT005 = 3
  207.     INT006 = 4
  208.     INT007 = 5
  209.     INT008 = 6
  210.     INT009 = 7
  211.     INT010 = 8
  212.     INT011 = 9
  213.     INT012 = 10
  214.     INT013 = 11
  215.     INT014 = 12
  216.     INT015 = 13
  217.     INT016 = 14
  218.     BOOLEAN020 = 0
  219.     STRING024 = PPEPath() + "external.cfg"
  220.     INTEGER049 = ReadLine(PCBDat(), 265)
  221.     STRING070 = String(PcbNode())
  222.     BOOLEAN013 = 0
  223.     BOOLEAN015 = 0
  224.     STRING035 = String(Carrier())
  225.     If (OnLocal()) STRING035 = "Local"
  226.     STRING010 = PPEPath() + "mx.cfg"
  227.     STRING062 = PPEPath() + "lightbar.cfg"
  228.     STRING011 = PPEPath() + "graph\mxtext"
  229.     STRING030 = PPEPath() + "graph\disc"
  230.     STRING031 = PPEPath() + "graph\dir"
  231.     If (LangExt() <> "") Then
  232.         If (BOOLEAN013) Then
  233.             PrintLn "Langext = " + LangExt()
  234.             Wait
  235.         Endif
  236.         If (Exist(STRING011 + LangExt())) STRING011 = STRING011 + LangExt()
  237.     Endif
  238.     STRING014 = PPEPath() + "unwanted"
  239.     STRING057 = PPEPath() + "work\mxlog." + String(STRING070)
  240.     STRING059 = PPEPath() + "graph\apply"
  241.     STRING060 = PPEPath() + "graph\address"
  242.     STRING061 = PPEPath() + "work\mxtmp." + String(STRING070)
  243.     STRING040 = PPEPath() + "work\infotmp." + String(STRING070)
  244.     STRING056 = PPEPath() + "graph\wel"
  245.     STRING055 = PPEPath() + "graph\mxs"
  246.     STRING064 = PPEPath() + "graph\doshlp"
  247.     STRING067 = PPEPath() + "dos.cfg"
  248.     STRING068 = ReadLine(STRING010, INT003)
  249.     STRING069 = ReadLine(STRING010, INT004)
  250.     STRING058 = ReadLine(STRING010, INT005)
  251.     INTEGER050 = ReadLine(STRING010, INT006)
  252.     INTEGER010 = ReadLine(PCBDat(), 149)
  253.     STRING021 = "@X0FL@X0Cigh@X04tbar@X0D/@X0FD@X0Cos @X0FM@X0Cat@X04rix @X0CPPE @X05v@X0D1.20 @X07φ═══── @X0FC@X0Dod@X05ed by @X08B@X07lac@X0FkCat @X07──═══φ"
  254.     Tokenize ReadLine(STRING010, INT008)
  255.     INTEGER003 = GetToken()
  256.     If (Upper(GetToken()) == "YES") Then
  257.         BOOLEAN008 = 1
  258.     Else
  259.         BOOLEAN008 = 0
  260.     Endif
  261.     INTEGER004 = GetToken()
  262.     If (Upper(GetToken()) == "YES") Then
  263.         BOOLEAN009 = 1
  264.     Else
  265.         BOOLEAN009 = 0
  266.     Endif
  267.     INTEGER005 = GetToken()
  268.     If (Upper(GetToken()) == "YES") Then
  269.         BOOLEAN010 = 1
  270.     Else
  271.         BOOLEAN010 = 0
  272.     Endif
  273.     INTEGER006 = GetToken()
  274.     If (Upper(GetToken()) == "YES") Then
  275.         BOOLEAN011 = 1
  276.     Else
  277.         BOOLEAN011 = 0
  278.     Endif
  279.     If (Upper(ReadLine(STRING010, INT009)) == "YES") Then
  280.         BOOLEAN014 = 1
  281.     Else
  282.         BOOLEAN014 = 0
  283.     Endif
  284.     If (Upper(ReadLine(STRING010, INT011)) == "YES") Then
  285.         BOOLEAN017 = 1
  286.         STRING073 = ReadLine(STRING010, INT012)
  287.         If (Exist(STRING073)) Goto LABEL001
  288.         If (Exist(PPEPath() + STRING073)) Then
  289.             STRING073 = PPEPath() + STRING073
  290.         Endif
  291.         :LABEL001
  292.     Else
  293.         BOOLEAN017 = 0
  294.     Endif
  295.     Tokenize ReadLine(STRING010, INT013)
  296.     INTEGER011 = GetToken()
  297.     INTEGER013 = GetToken()
  298.     Tokenize ReadLine(STRING010, INT014)
  299.     INTEGER021 = GetToken()
  300.     INTEGER022 = GetToken()
  301.     INTEGER023 = GetToken()
  302.     INTEGER024 = GetToken()
  303.     INTEGER025 = GetToken()
  304.     INTEGER016 = 0
  305.     INTEGER017 = 0
  306.     INTEGER018 = 0
  307.     INTEGER019 = 0
  308.     INTEGER020 = 0
  309.     Tokenize ReadLine(STRING010, INT015)
  310.     INTEGER026 = GetToken()
  311.     If (GetToken() == "YES") Then
  312.         BOOLEAN006 = 1
  313.     Else
  314.         BOOLEAN006 = 0
  315.     Endif
  316.     INTEGER053 = ReadLine(STRING024, 1)
  317.     If (INTEGER053 > 0) Then
  318.         Redim TSTRING007, 6 + INTEGER053
  319.         Redim TINT001, 6 + INTEGER053
  320.         Redim TINT002, 6 + INTEGER053
  321.         Redim TSTRING009, INTEGER053
  322.         INTEGER044 = 6 + INTEGER053
  323.     Else
  324.         INTEGER044 = 6
  325.     Endif
  326.     INTEGER046 = ReadLine(STRING062, 1)
  327.     STRING013 = ReadLine(STRING062, 2)
  328.     STRING071 = STRING013
  329.     INTEGER043 = 1
  330.     STRING053 = Chr(13)
  331.     STRING054 = Chr(27)
  332.     INTEGER007 = 0
  333.     BOOLEAN012 = 0
  334.     STRING039 = ReadLine(STRING011, 14)
  335.     If (Upper(STRING058) == "YES") Then
  336.         BOOLEAN016 = 1
  337.         FAppend 3, STRING057, 1, 0
  338.         FPutLn 3, "************************************************************"
  339.         FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") (" + STRING035 + ") (" + GrafMode() + ")"
  340.     Endif
  341.     If (AnsiOn()) Goto LABEL002
  342.     If (BOOLEAN016) Then
  343.         FPutLn 3, "    No ansi, exiting"
  344.         FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Abnormally"
  345.     Endif
  346.     Newline
  347.     PrintLn "No ansi capability, matrix exiting"
  348.     PrintLn "You can type in your name now to log in normally"
  349.     End
  350.     :LABEL002
  351.     If (LoggedOn()) Then
  352.         If (BOOLEAN016) Then
  353.             FPutLn 3, "    Logged on user (", String(U_Name()), ") started matrix"
  354.         Endif
  355.     Endif
  356.     AdjTime INTEGER011
  357.     StartDisp 1
  358.     Select Case (Upper(ReadLine(STRING010, INT010)))
  359.         Case "DOS"
  360.             STRING074 = "dos"
  361.             Goto LABEL003
  362.         Case "LIGHTBAR"
  363.             STRING074 = "lightbar"
  364.             Goto LABEL007
  365.             INTEGER045 = Random(Time())
  366.             INTEGER045 = Random(1) + 1
  367.         Case 1
  368.             STRING074 = "dos"
  369.             Goto LABEL003
  370.         Case 2
  371.             STRING074 = "lightbar"
  372.             Goto LABEL007
  373.     End Select
  374.     :LABEL003
  375.     TSTRING007(1) = ReadLine(STRING067, 1)
  376.     TSTRING007(2) = ReadLine(STRING067, 2)
  377.     TSTRING007(3) = ReadLine(STRING067, 3)
  378.     TSTRING007(4) = ReadLine(STRING067, 4)
  379.     TSTRING007(5) = ReadLine(STRING067, 5)
  380.     TSTRING007(6) = ReadLine(STRING067, 6)
  381.     STRING066 = ReadLine(STRING067, 7)
  382.     STRING065 = ReadLine(STRING067, 8)
  383.     STRING072 = ReadLine(STRING067, 9)
  384.     Tokenize ReadLine(STRING067, 10)
  385.     If (Upper(GetToken()) == "YES") Then
  386.         INTEGER052 = 1
  387.     Else
  388.         INTEGER052 = 0
  389.     Endif
  390.     If (GetToken() == "YES") Then
  391.         DefColor
  392.         Cls
  393.     Endif
  394.     If (GetToken() == "YES") Then
  395.         BOOLEAN020 = 1
  396.     Endif
  397.     INTEGER028 = GetToken()
  398.     INTEGER048 = 2
  399.     For INTEGER045 = 1 To INTEGER053
  400.         TSTRING007(6 + INTEGER045) = ReadLine(STRING024, INTEGER048)
  401.         TSTRING009(INTEGER045) = ReadLine(STRING024, INTEGER048 + 1)
  402.         INTEGER048 = INTEGER048 + 2
  403.     Next
  404.     Newline
  405.     PrintLn STRING021 + " @X05[@X0DDos mode@X05]"
  406.     :LABEL004
  407.     STRING027 = ReadLine(STRING011, 51) + "_"
  408.     Newline
  409.     If (BOOLEAN020) Then
  410.         DispFile STRING031, 1 + 4
  411.         BOOLEAN020 = 0
  412.     Endif
  413.     STRING012 = ""
  414.     STRING017 = ""
  415.     InputText STRING027, STRING012, 1, 60
  416.     Tokenize STRING012
  417.     If (TokCount() > 0) Then
  418.         INTEGER047 = TokCount()
  419.         For INTEGER045 = 1 To INTEGER047
  420.             STRING017 = GetToken()
  421.             If (STRING017 <> "") Break
  422.         Next
  423.         If (INTEGER045 < INTEGER047) STRING017 = Upper(STRING012)
  424.     Endif
  425.     Select Case (Upper(STRING017))
  426.         Case "DIR"
  427.             DispFile STRING031, 1 + 4
  428.         Case "DIR/W"
  429.             DispFile PPEPath() + "graph\dirw", 1 + 4
  430.         Case Upper(TSTRING007(1))
  431.             SaveScrn
  432.             Gosub LABEL016
  433.             GetUser
  434.             DefColor
  435.             RestScrn
  436.         Case Upper(TSTRING007(2))
  437.             SaveScrn
  438.             Gosub LABEL020
  439.             DefColor
  440.             RestScrn
  441.         Case Upper(TSTRING007(3))
  442.             SaveScrn
  443.             Gosub LABEL011
  444.             GetUser
  445.             DefColor
  446.             RestScrn
  447.         Case Upper(TSTRING007(4))
  448.             SaveScrn
  449.             If (BOOLEAN016) FClose 3
  450.             AdjTime INTEGER013
  451.             If (INTEGER024 > 0) Then
  452.                 Inc INTEGER019
  453.                 If (INTEGER019 > INTEGER024) Then
  454.                     If (BOOLEAN016) FPutLn 3, "    Excessive feedback retries, exiting"
  455.                     If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Abormally"
  456.                     Hangup
  457.                 Endif
  458.             Endif
  459.             Call PPEPath() + "feedback.ppe"
  460.             DefColor
  461.             StartDisp 1
  462.             If (BOOLEAN016) FAppend 3, STRING057, 1, 0
  463.             AdjTime 0 - INTEGER013
  464.             RestScrn
  465.         Case Upper(TSTRING007(6)), "EXIT"
  466.             If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Normally (through quit)"
  467.             If (BOOLEAN013) Goto LABEL005
  468.             Newline
  469.             DefColor
  470.             If (INTEGER026 > 0) Then
  471.                 INTEGER027 = Random(Time())
  472.                 INTEGER027 = Random(INTEGER026 - 1) + 1
  473.                 DispFile PPEPath() + "graph\off" + String(INTEGER027), 1 + 4
  474.             Endif
  475.             If (BOOLEAN006) Then
  476.                 STRING051 = Upper(YesChar())
  477.                 InputYN ReadLine(STRING011, 2), STRING051, 1
  478.                 If (Upper(STRING051) <> Upper(YesChar())) Then
  479.                     Newline
  480.                     Goto LABEL004
  481.                 Endif
  482.             Endif
  483.             If (LoggedOn()) End
  484.             Hangup
  485.             :LABEL005
  486.         Case Upper(TSTRING007(5))
  487.             If (BOOLEAN017) Goto LABEL006
  488.             Newline
  489.             If (BOOLEAN016) FPutLn 3, "    PAGE selected but not allowed at " + String(Time())
  490.             PrintLn ReadLine(STRING011, 63)
  491.             Goto LABEL004
  492.             :LABEL006
  493.             SaveScrn
  494.             If (BOOLEAN016) FClose 3
  495.             If (INTEGER025 > 0) Then
  496.                 Inc INTEGER020
  497.                 If (INTEGER020 > INTEGER025) Then
  498.                     If (BOOLEAN016) FPutLn 3, "    Excessive page retries, exiting"
  499.                     If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Abormally"
  500.                     Hangup
  501.                 Endif
  502.             Endif
  503.             Call STRING073
  504.             StartDisp 1
  505.             DefColor
  506.             If (BOOLEAN016) FAppend 3, STRING057, 1, 0
  507.             RestScrn
  508.         Case Upper(STRING066)
  509.             Newline
  510.             PrintLn STRING021 + " @X05[@X0DDos mode@X05]"
  511.             Newline
  512.         Case Upper(STRING065)
  513.             Newline
  514.             DispFile STRING064, 1 + 4
  515.         Case Upper(STRING068)
  516.             BOOLEAN015 = 1
  517.             SaveScrn
  518.             Gosub LABEL016
  519.             GetUser
  520.             RestScrn
  521.         Case INTEGER052
  522.             Newline
  523.             DispFile PPEPath() + "graph\format", 1 + 4
  524.             STRING017 = ""
  525.             InputYN ReadLine(STRING011, 54) + "_", STRING017, 1
  526.             Newline
  527.             If (Upper(STRING017) == Upper(YesChar())) Then
  528.                 PrintLn ReadLine(STRING011, 55)
  529.                 INTEGER041 = GetX()
  530.                 INTEGER042 = GetY()
  531.                 STRING027 = ReadLine(STRING011, 56)
  532.                 For INTEGER045 = 1 To 100
  533.                     Print String(INTEGER045) + STRING027
  534.                     Delay 4
  535.                     AnsiPos INTEGER041, INTEGER042
  536.                 Next
  537.                 Newline
  538.                 PrintLn ReadLine(STRING011, 52)
  539.                 Delay 60
  540.                 If (!BOOLEAN013) Hangup
  541.             Endif
  542.         Case "CLS"
  543.             DefColor
  544.             Cls
  545.         Case Else
  546.             For INTEGER045 = 1 To INTEGER053
  547.                 If (Upper(STRING017) == Upper(TSTRING007(6 + INTEGER045))) Then
  548.                     If (BOOLEAN016) FClose 3
  549.                     Tokenize TSTRING009(INTEGER045)
  550.                     Call GetToken()
  551.                     If (BOOLEAN016) FAppend 3, STRING057, 1, 0
  552.                     DefColor
  553.                     StartDisp 1
  554.                     Goto LABEL004
  555.                 Endif
  556.             Next
  557.             If (STRING017 <> "") Then
  558.                 Newline
  559.                 Print ReadLine(STRING011, 53) + """" + STRING017 + """"
  560.                 If (INTEGER028 <> 0) Then
  561.                     Inc INTEGER029
  562.                     If (INTEGER029 == INTEGER028) Then
  563.                         If (BOOLEAN016) FPutLn 3, "    Excessive dos command errors, exiting"
  564.                         Hangup
  565.                     Endif
  566.                 Endif
  567.             Endif
  568.             Goto LABEL004
  569.     End Select
  570.     Goto LABEL004
  571.     :LABEL007
  572.     StartDisp 1
  573.     INTEGER047 = Random(Time())
  574.     INTEGER047 = Random(INTEGER046 - 1) + 1
  575.     DispFile STRING055 + String(INTEGER047), 1 + 4
  576.     If (Exist(STRING052 + String(INTEGER047) + LangExt())) Then
  577.         STRING052 = STRING052 + String(INTEGER047) + LangExt()
  578.     ElseIf (Exist(STRING052 + String(INTEGER047))) Then
  579.         STRING052 = STRING052 + String(INTEGER047)
  580.     ElseIf (Exist(STRING052 + LangExt())) Then
  581.         STRING052 = STRING052 + LangExt()
  582.     Endif
  583.     STRING063 = ReadLine(STRING062, 2 + INTEGER047)
  584.     Tokenize STRING063
  585.     STRING071 = GetToken()
  586.     BOOLEAN007 = 1
  587.     BOOLEAN018 = 0
  588.     If (STRING071 == "%D") Then
  589.         BOOLEAN007 = 0
  590.         BOOLEAN018 = 1
  591.         STRING071 = GetToken()
  592.     Endif
  593.     For INTEGER045 = 1 To INTEGER044
  594.         TINT001(INTEGER045) = GetToken()
  595.         TINT002(INTEGER045) = GetToken()
  596.         If (BOOLEAN007) Then
  597.             INTEGER051 = GetToken()
  598.             TSTRING007(INTEGER045) = ScrText(TINT001(INTEGER045), TINT002(INTEGER045), INTEGER051, 1)
  599.         Else
  600.             TSTRING007(INTEGER045) = ReadLine(STRING052, INTEGER045)
  601.         Endif
  602.         If (INTEGER045 > 6) Then
  603.             TSTRING009(INTEGER045 - 6) = ReadLine(STRING024, (INTEGER045 - 6) * 2 + 1)
  604.         Endif
  605.     Next
  606.     TSTRING009(INTEGER045) = ReadLine(STRING024, INTEGER048 + 1)
  607.     INTEGER043 = 1
  608.     INTEGER039 = 0
  609.     INTEGER040 = 0
  610.     If (BOOLEAN018) Then
  611.         For INTEGER045 = 1 To INTEGER044
  612.             AnsiPos TINT001(INTEGER045), TINT002(INTEGER045)
  613.             Print TSTRING007(INTEGER045)
  614.         Next
  615.     Endif
  616.     AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  617.     Print STRING071, StripAtx(TSTRING007(INTEGER043))
  618.     :LABEL008
  619.     STRING017 = Inkey()
  620.     If (((Upper(STRING017) == "A") || (STRING017 == "UP")) || (STRING017 == "LEFT")) Then
  621.         AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  622.         Print TSTRING007(INTEGER043)
  623.         If (INTEGER043 == 1) Then
  624.             INTEGER043 = INTEGER044
  625.         Else
  626.             INTEGER043 = INTEGER043 - 1
  627.         Endif
  628.         AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  629.         Print STRING071, StripAtx(TSTRING007(INTEGER043))
  630.         Goto LABEL008
  631.     ElseIf (((Upper(STRING017) == "Z") || (STRING017 == "DOWN")) || (STRING017 == "RIGHT")) Then
  632.         AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  633.         Print "@X0F", TSTRING007(INTEGER043)
  634.         If (INTEGER043 == INTEGER044) Then
  635.             INTEGER043 = 1
  636.         Else
  637.             INTEGER043 = INTEGER043 + 1
  638.         Endif
  639.         AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  640.         Print STRING071, StripAtx(TSTRING007(INTEGER043))
  641.         Goto LABEL008
  642.     Else
  643.         Select Case (STRING017)
  644.             Case "HOME"
  645.                 AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  646.                 Print "@X0F", TSTRING007(INTEGER043)
  647.                 INTEGER043 = 1
  648.                 AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  649.                 Print STRING071, StripAtx(TSTRING007(INTEGER043))
  650.                 Goto LABEL008
  651.             Case "END"
  652.                 AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  653.                 Print STRING071, StripAtx(TSTRING007(INTEGER043))
  654.                 Print "@X0F", TSTRING007(INTEGER043)
  655.                 INTEGER043 = INTEGER044
  656.                 AnsiPos TINT001(INTEGER043), TINT002(INTEGER043)
  657.                 Print STRING071, StripAtx(TSTRING007(INTEGER043))
  658.                 Goto LABEL008
  659.             Case "?"
  660.                 DefColor
  661.                 INTEGER014 = GetX()
  662.                 INTEGER015 = GetY()
  663.                 AnsiPos 1, 23
  664.                 SaveScrn
  665.                 StartDisp 2
  666.                 DispFile PPEPath() + "graph\lbhlp", 1 + 4
  667.                 Wait
  668.                 StartDisp 1
  669.                 RestScrn
  670.                 AnsiPos INTEGER014, INTEGER015
  671.                 Goto LABEL008
  672.             Case ||, "1", String(INTEGER044)
  673.                 If (STRING017 <> STRING053) INTEGER043 = STRING017
  674.                 Select Case (INTEGER043)
  675.                     Case 1
  676.                         Gosub LABEL016
  677.                         GetUser
  678.                     Case 2
  679.                         Gosub LABEL020
  680.                     Case 3
  681.                         Gosub LABEL011
  682.                         GetUser
  683.                     Case 4
  684.                         If (BOOLEAN016) FClose 3
  685.                         AdjTime INTEGER013
  686.                         If (INTEGER024 > 0) Then
  687.                             Inc INTEGER019
  688.                             If (INTEGER019 > INTEGER024) Then
  689.                                 If (BOOLEAN016) FPutLn 3, "    Excessive feedback retries, exiting"
  690.                                 If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Abormally"
  691.                                 Hangup
  692.                             Endif
  693.                         Endif
  694.                         Call PPEPath() + "feedback.ppe"
  695.                         DefColor
  696.                         StartDisp 1
  697.                         If (BOOLEAN016) FAppend 3, STRING057, 2, 0
  698.                         AdjTime 0 - INTEGER013
  699.                         Goto LABEL007
  700.                     Case 5
  701.                         If (BOOLEAN017) Goto LABEL009
  702.                         DefColor
  703.                         Cls
  704.                         If (BOOLEAN016) FPutLn 3, "    PAGE selected but not allowed at " + String(Time())
  705.                         PrintLn ReadLine(STRING011, 63)
  706.                         Wait
  707.                         Goto LABEL007
  708.                         :LABEL009
  709.                         If (BOOLEAN016) FClose 3
  710.                         Call STRING073
  711.                         If (BOOLEAN016) FAppend 3, STRING057, 2, 0
  712.                         DefColor
  713.                         StartDisp 1
  714.                         Goto LABEL007
  715.                     Case 6
  716.                         If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Normally (through quit)"
  717.                         If (BOOLEAN013) Goto LABEL010
  718.                         DefColor
  719.                         Cls
  720.                         If (INTEGER026 > 0) Then
  721.                             INTEGER027 = Random(Time())
  722.                             INTEGER027 = Random(INTEGER026 - 1) + 1
  723.                             DispFile PPEPath() + "graph\off" + String(INTEGER027), 1 + 4
  724.                         Endif
  725.                         If (BOOLEAN006) Then
  726.                             STRING051 = Upper(YesChar())
  727.                             InputYN ReadLine(STRING011, 2), STRING051, 1
  728.                             If (Upper(STRING051) <> Upper(YesChar())) Then
  729.                                 Goto LABEL007
  730.                             Endif
  731.                         Endif
  732.                         If (LoggedOn()) End
  733.                         Hangup
  734.                         :LABEL010
  735.                     Case 7
  736.                         If (BOOLEAN016) FClose 3
  737.                         Tokenize TSTRING009(INTEGER043 - 6)
  738.                         Call GetToken()
  739.                         If (BOOLEAN016) FAppend 3, STRING057, 1, 0
  740.                         DefColor
  741.                         StartDisp 1
  742.                         Goto LABEL007
  743.                 End Select
  744.                 Goto LABEL007
  745.             Case Else
  746.                 If (BOOLEAN013) If (STRING017 <> "") PrintLn STRING017
  747.                 Goto LABEL008
  748.             Endif
  749.     End Select
  750.     :LABEL011
  751.     DefColor
  752.     Cls
  753.     If (BOOLEAN016) FPutLn 3, "    CHECK_ACCESS selected at " + String(Time())
  754.     If (INTEGER023 > 0) Then
  755.         Inc INTEGER018
  756.         If (INTEGER018 > INTEGER023) Then
  757.             If (BOOLEAN016) FPutLn 3, "    Excessive access check retries, exiting"
  758.             If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Abormally"
  759.             Hangup
  760.         Endif
  761.     Endif
  762.     STRING042 = PPEPath() + "cfg\check.cfg"
  763.     INTEGER045 = ReadLine(STRING042, 1)
  764.     INTEGER032 = Random(Time())
  765.     INTEGER032 = Random(INTEGER045 - 1) + 1
  766.     Tokenize ReadLine(STRING042, INTEGER032 + 1)
  767.     DispFile PPEPath() + "graph\check" + String(INTEGER032), 1 + 4
  768.     INTEGER030 = GetToken()
  769.     INTEGER031 = GetToken()
  770.     STRING044 = GetToken()
  771.     STRING039 = ReadLine(STRING011, 14)
  772.     INTEGER007 = 0
  773.     Gosub LABEL041
  774.     STRING017 = ""
  775.     :LABEL012
  776.     AnsiPos INTEGER033, INTEGER034
  777.     Print Space(Len(STRING017))
  778.     AnsiPos INTEGER033, INTEGER034
  779.     STRING017 = ""
  780.     InputText STRING049 + "_", STRING017, 3, 70
  781.     If (STRING017 == "") Then
  782.         Inc INTEGER007
  783.         If (BOOLEAN016) FPutLn 3, "    No handle entered"
  784.         If (INTEGER007 == INTEGER004) Then
  785.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering handle"
  786.             If (BOOLEAN009) Hangup
  787.             INTEGER007 = 0
  788.             Return
  789.         Endif
  790.         STRING008 = STRING039
  791.         INTEGER008 = INTEGER004
  792.         Gosub LABEL038
  793.         If (BOOLEAN005) Goto LABEL012
  794.         Return
  795.     Endif
  796.     INTEGER009 = U_RecNum(Upper(STRING017))
  797.     If (INTEGER009 == -1) Then
  798.         Inc INTEGER007
  799.         If (BOOLEAN016) FPutLn 3, "    Unregistered user handle (" + Upper(STRING017) + ") entered"
  800.         If (INTEGER007 == INTEGER004) Then
  801.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering handle"
  802.             If (BOOLEAN009) Hangup
  803.             INTEGER007 = 0
  804.             Return
  805.         Endif
  806.         STRING008 = ReadLine(STRING011, 33)
  807.         INTEGER008 = INTEGER004
  808.         Gosub LABEL038
  809.         If (BOOLEAN005) Goto LABEL012
  810.         Return
  811.     Endif
  812.     If (BOOLEAN016) FPutLn 3, "    Registered user handle (" + Upper(STRING017) + ") entered"
  813.     INTEGER007 = 0
  814.     GetAltUser INTEGER009
  815.     Gosub LABEL041
  816.     STRING019 = ""
  817.     :LABEL013
  818.     AnsiPos INTEGER033, INTEGER034
  819.     Print Space(Len(STRING019))
  820.     AnsiPos INTEGER033, INTEGER034
  821.     STRING019 = ""
  822.     InputStr STRING049 + "_", STRING019, 15, 60, Mask_Pwd(), 2 + 1
  823.     If (STRING019 == "") Then
  824.         Inc INTEGER007
  825.         If (BOOLEAN016) FPutLn 3, "    No password entered"
  826.         If (INTEGER007 == INTEGER005) Then
  827.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering password"
  828.             If (BOOLEAN010) Hangup
  829.             INTEGER007 = 0
  830.             Return
  831.         Endif
  832.         STRING008 = STRING039
  833.         INTEGER008 = INTEGER005
  834.         Gosub LABEL038
  835.         If (BOOLEAN005) Goto LABEL013
  836.         Return
  837.     Endif
  838.     If (Upper(STRING019) <> Upper(U_Pwd)) Then
  839.         Inc INTEGER007
  840.         If (BOOLEAN016) FPutLn 3, "    Incorrect user password " + Upper(STRING019) + " entered"
  841.         If (INTEGER007 == INTEGER005) Then
  842.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering password"
  843.             If (BOOLEAN010) Hangup
  844.             INTEGER007 = 0
  845.             Return
  846.         Endif
  847.         STRING008 = ReadLine(STRING011, 34)
  848.         INTEGER008 = INTEGER005
  849.         Gosub LABEL038
  850.         If (BOOLEAN005) Goto LABEL013
  851.         Return
  852.     Endif
  853.     If (BOOLEAN016) FPutLn 3, "    Correct user password (" + Upper(STRING019) + ") entered"
  854.     If (U_Sec > INTEGER010) Then
  855.         STRING008 = ReplaceStr(ReadLine(STRING011, 35), "%OPTEXT%", Upper(STRING068))
  856.         Gosub LABEL040
  857.         If (BOOLEAN005) Then
  858.             Tokenize STRING017
  859.             If (TokCount() > 1) Then
  860.                 KbdStuff STRING017 + STRING053
  861.                 If (BOOLEAN003) KbdStuff STRING053
  862.                 KbdStuff STRING019 + STRING053
  863.                 Goto LABEL014
  864.             Endif
  865.             KbdStuff STRING017 + STRING053 + STRING053
  866.             If (BOOLEAN003) KbdStuff STRING053
  867.             KbdStuff STRING019 + STRING053
  868.             :LABEL014
  869.             If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Normally (through check login)"
  870.             Goto LABEL042
  871.             End
  872.         Endif
  873.         Return
  874.     Endif
  875.     STRING050 = ReadLine(STRING011, 36)
  876.     AnsiPos INTEGER030, INTEGER031
  877.     Tokenize ReadLine(STRING010, INT016)
  878.     PrintLn STRING050
  879.     If (GetToken() <> "YES") Then
  880.         Wait
  881.         Return
  882.     Else
  883.         Delay 10
  884.     Endif
  885.     STRING075 = ReadLine(PPEPath() + "nuv.cfg", 4)
  886.     STRING076 = ReadLine(PPEPath() + "nuv.cfg", 5)
  887.     If (STRING075 == 0) Then
  888.         STRING075 = ReadLine(PPEPath() + "graph\nuvtext", 26)
  889.     Endif
  890.     If (STRING076 == 0) Then
  891.         STRING076 = ReadLine(PPEPath() + "graph\nuvtext", 26)
  892.     Endif
  893.     STRING078 = PPEPath() + "apps\" + Replace(Left(U_Name(), 8), " ", "_")
  894.     STRING078 = Replace(STRING078, "=", "-")
  895.     STRING078 = Replace(STRING078, ",", "-")
  896.     STRING078 = Replace(STRING078, ".", "-") + ".vot"
  897.     If (Exist(STRING078)) Then
  898.         INTEGER054 = ReadLine(STRING078, 1)
  899.         INTEGER055 = ReadLine(STRING078, 2)
  900.     Else
  901.         FreshLine
  902.         DispFile PPEPath() + "graph\nuvout", 1 + 4
  903.         If (GetToken() == "YES") Hangup
  904.         Wait
  905.         Return
  906.     Endif
  907.     STRING078 = PPEPath() + "graph\nuvstat"
  908.     INTEGER056 = 1
  909.     FreshLine
  910.     STRING077 = ReadLine(STRING078, INTEGER056)
  911.     While (STRING077 <> "") Do
  912.         STRING077 = ReplaceStr(STRING077, "%YES%", String(INTEGER054))
  913.         STRING077 = ReplaceStr(STRING077, "%NO%", String(INTEGER055))
  914.         STRING077 = ReplaceStr(STRING077, "%NON%", String(STRING076))
  915.         STRING077 = ReplaceStr(STRING077, "%YESN%", String(STRING075))
  916.         PrintLn STRING077
  917.         Inc INTEGER056
  918.         STRING077 = ReadLine(STRING078, INTEGER056)
  919.     EndWhile
  920.     Wait
  921.     Return
  922.     :LABEL015
  923.     DefColor
  924.     Cls
  925.     If (BOOLEAN016) FPutLn 3, "    MATRIX_FEEDBACK selected at " + String(Time())
  926.     DispFile PPEPath() + "graph\fbmsg", 1 + 4
  927.     Wait
  928.     If (BOOLEAN016) FClose 3
  929.     AdjTime INTEGER013
  930.     Tokenize "LOGON " + STRING018
  931.     Call PPEPath() + "feedback.ppe"
  932.     DefColor
  933.     StartDisp 1
  934.     If (BOOLEAN016) FAppend 3, STRING057, 1, 0
  935.     INTEGER012 = MinLeft()
  936.     If (INTEGER012 == 0) Then
  937.         AdjTime 1
  938.     ElseIf (INTEGER012 <= INTEGER013) Then
  939.         AdjTime 0 - INTEGER012 - 1
  940.     Else
  941.         AdjTime 0 - INTEGER013
  942.     Endif
  943.     Return
  944.     :LABEL016
  945.     DefColor
  946.     Cls
  947.     If (BOOLEAN016) FPutLn 3, "    MATRIX_LOGIN selected at " + String(Time())
  948.     If (INTEGER021 > 0) Then
  949.         Inc INTEGER016
  950.         If (INTEGER016 > INTEGER021) Then
  951.             If (BOOLEAN016) FPutLn 3, "    Excessive logon retries, exiting"
  952.             If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Abormally"
  953.             Hangup
  954.         Endif
  955.     Endif
  956.     INTEGER045 = ReadLine(STRING041, 1)
  957.     INTEGER032 = Random(Time())
  958.     INTEGER032 = Random(INTEGER045 - 1) + 1
  959.     Tokenize ReadLine(STRING041, INTEGER032 + 1)
  960.     DispFile PPEPath() + "graph\logon" + String(INTEGER032), 1 + 4
  961.     INTEGER030 = GetToken()
  962.     INTEGER031 = GetToken()
  963.     STRING044 = GetToken()
  964.     If (Upper(STRING068) <> "NONE") Then
  965.         If (BOOLEAN015) Then
  966.             AnsiPos GetToken(), GetToken()
  967.             Print GetToken(), Upper(STRING068)
  968.             BOOLEAN015 = 0
  969.         Else
  970.             INTEGER007 = 0
  971.             Gosub LABEL041
  972.             STRING017 = ""
  973.             :LABEL017
  974.             AnsiPos INTEGER033, INTEGER034
  975.             Print Space(Len(STRING017))
  976.             AnsiPos INTEGER033, INTEGER034
  977.             STRING017 = ""
  978.             InputStr STRING049 + "_", STRING017, 1, 70, Mask_Ascii(), 2 + 1
  979.             If (STRING017 == "") Then
  980.                 Inc INTEGER007
  981.                 If (BOOLEAN016) FPutLn 3, "    No system password entered"
  982.                 If (INTEGER007 == INTEGER003) Then
  983.                     If (BOOLEAN016) FPutLn 3, "    Excessive retries entering system password"
  984.                     If (BOOLEAN008) Hangup
  985.                     INTEGER007 = 0
  986.                     Return
  987.                 Endif
  988.                 STRING008 = STRING039
  989.                 INTEGER008 = INTEGER003
  990.                 Gosub LABEL038
  991.                 If (BOOLEAN005) Goto LABEL017
  992.                 Return
  993.             Endif
  994.             If (Upper(STRING017) <> Upper(STRING068)) Then
  995.                 Inc INTEGER007
  996.                 If (BOOLEAN016) FPutLn 3, "    Incorrect system password (" + Upper(STRING017) + ") entered"
  997.                 If (INTEGER007 == INTEGER003) Then
  998.                     If (BOOLEAN016) FPutLn 3, "    Excessive retries entering system password"
  999.                     If (BOOLEAN008) Hangup
  1000.                     INTEGER007 = 0
  1001.                     Return
  1002.                 Endif
  1003.                 STRING008 = ReadLine(STRING011, 8)
  1004.                 INTEGER008 = INTEGER003
  1005.                 Gosub LABEL038
  1006.                 If (BOOLEAN005) Goto LABEL017
  1007.                 Return
  1008.             Endif
  1009.             If (BOOLEAN016) FPutLn 3, "    Correct system password (", Upper(STRING068) , ") entered"
  1010.         Else
  1011.             AnsiPos GetToken(), GetToken()
  1012.             Print GetToken(), ReadLine(STRING011, 3)
  1013.         Endif
  1014.     Endif
  1015.     INTEGER007 = 0
  1016.     Gosub LABEL041
  1017.     STRING017 = ""
  1018.     :LABEL018
  1019.     AnsiPos INTEGER033, INTEGER034
  1020.     Print Space(Len(STRING017))
  1021.     AnsiPos INTEGER033, INTEGER034
  1022.     STRING017 = ""
  1023.     InputText STRING049 + "_", STRING017, 1, 70
  1024.     If (STRING017 == "") Then
  1025.         Inc INTEGER007
  1026.         If (BOOLEAN016) FPutLn 3, "    No handle entered"
  1027.         If (INTEGER007 == INTEGER004) Then
  1028.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering handle"
  1029.             If (BOOLEAN009) Hangup
  1030.             INTEGER007 = 0
  1031.             Return
  1032.         Endif
  1033.         STRING008 = STRING039
  1034.         INTEGER008 = INTEGER004
  1035.         Gosub LABEL038
  1036.         If (BOOLEAN005) Goto LABEL018
  1037.         Return
  1038.     Endif
  1039.     INTEGER009 = U_RecNum(Upper(STRING017))
  1040.     If (INTEGER009 == -1) Then
  1041.         Inc INTEGER007
  1042.         If (BOOLEAN016) FPutLn 3, "    Unregistered user handle (" + Upper(STRING017) + ") entered"
  1043.         If (INTEGER007 == INTEGER004) Then
  1044.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering handle"
  1045.             If (BOOLEAN009) Hangup
  1046.             INTEGER007 = 0
  1047.             Return
  1048.         Endif
  1049.         STRING008 = ReadLine(STRING011, 9)
  1050.         INTEGER008 = INTEGER004
  1051.         Gosub LABEL038
  1052.         If (BOOLEAN005) Goto LABEL018
  1053.         Return
  1054.     Endif
  1055.     STRING045 = Upper(STRING017)
  1056.     GetAltUser INTEGER009
  1057.     INTEGER007 = 0
  1058.     Gosub LABEL041
  1059.     STRING017 = ""
  1060.     :LABEL019
  1061.     AnsiPos INTEGER033, INTEGER034
  1062.     Print Space(Len(STRING017))
  1063.     AnsiPos INTEGER033, INTEGER034
  1064.     STRING017 = ""
  1065.     InputStr STRING049 + "_", STRING017, 1, 70, Mask_Ascii(), 2 + 1
  1066.     If (STRING017 == "") Then
  1067.         Inc INTEGER007
  1068.         If (BOOLEAN016) FPutLn 3, "    No logon password entered"
  1069.         If (INTEGER007 == INTEGER005) Then
  1070.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering logon password"
  1071.             If (BOOLEAN010) Hangup
  1072.             INTEGER007 = 0
  1073.             Return
  1074.         Endif
  1075.         STRING008 = STRING039
  1076.         INTEGER008 = INTEGER005
  1077.         Gosub LABEL038
  1078.         If (BOOLEAN005) Goto LABEL019
  1079.         Return
  1080.     Endif
  1081.     If (Upper(STRING017) <> Upper(U_Pwd)) Then
  1082.         Inc INTEGER007
  1083.         If (BOOLEAN016) FPutLn 3, "    Incorrect user logon password (" + Upper(STRING017) + ") entered"
  1084.         If (INTEGER007 == INTEGER005) Then
  1085.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering password"
  1086.             If (BOOLEAN010) Hangup
  1087.             INTEGER007 = 0
  1088.             Return
  1089.         Endif
  1090.         STRING008 = ReadLine(STRING011, 1)
  1091.         INTEGER008 = INTEGER004
  1092.         Gosub LABEL038
  1093.         If (BOOLEAN005) Goto LABEL019
  1094.         Return
  1095.     Endif
  1096.     STRING046 = Upper(STRING017)
  1097.     If (BOOLEAN016) FPutLn 3, "    Registered user handle (" + Upper(STRING017) + ") entered"
  1098.     INTEGER012 = MinLeft()
  1099.     If (INTEGER012 == 0) Then
  1100.         AdjTime 1
  1101.     ElseIf (INTEGER012 <= INTEGER011) Then
  1102.         AdjTime 0 - INTEGER012 - 1
  1103.     Else
  1104.         AdjTime 0 - INTEGER011
  1105.     Endif
  1106.     If (INTEGER050 > 0) Then
  1107.         INTEGER047 = Random(Time())
  1108.         INTEGER047 = Random(INTEGER050 - 1) + 1
  1109.         DispFile STRING056 + String(INTEGER047), 1 + 4
  1110.         FreshLine
  1111.     Else
  1112.         Select Case (INTEGER050)
  1113.             Case 0
  1114.                 AnsiPos INTEGER030, INTEGER031
  1115.             Case -1
  1116.                 DefColor
  1117.                 Cls
  1118.             Endif
  1119.     End Select
  1120.     Tokenize STRING045
  1121.     If (TokCount() > 1) Then
  1122.         KbdStuff STRING045 + STRING053
  1123.         If (BOOLEAN003) KbdStuff STRING053
  1124.         KbdStuff STRING046 + STRING053
  1125.     Else
  1126.         KbdStuff STRING045 + STRING053 + STRING053
  1127.         If (BOOLEAN003) KbdStuff STRING053
  1128.         KbdStuff STRING046 + STRING053
  1129.     Endif
  1130.     If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Normally (through login)"
  1131.     Gosub LABEL042
  1132.     End
  1133.     :LABEL020
  1134.     DefColor
  1135.     Cls
  1136.     If (BOOLEAN016) FPutLn 3, "    MATRIX_APPLICATION selected at " + String(Time())
  1137.     If (INTEGER022 > 0) Then
  1138.         Inc INTEGER017
  1139.         If (INTEGER017 > INTEGER022) Then
  1140.             If (BOOLEAN016) FPutLn 3, "    Excessive application retries, exiting"
  1141.             If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Abormally"
  1142.             Hangup
  1143.         Endif
  1144.     Endif
  1145.     STRING042 = PPEPath() + "cfg\mxapply.cfg"
  1146.     INTEGER045 = ReadLine(STRING042, 1)
  1147.     INTEGER032 = Random(Time())
  1148.     INTEGER032 = Random(INTEGER045 - 1) + 1
  1149.     Tokenize ReadLine(STRING042, INTEGER032 + 1)
  1150.     DispFile PPEPath() + "graph\mxapp" + String(INTEGER032), 1 + 4
  1151.     INTEGER030 = GetToken()
  1152.     INTEGER031 = GetToken()
  1153.     STRING044 = GetToken()
  1154.     INTEGER007 = 0
  1155.     Gosub LABEL041
  1156.     STRING018 = ""
  1157.     INTEGER002 = 0
  1158.     :LABEL021
  1159.     AnsiPos INTEGER033, INTEGER034
  1160.     Print Space(INTEGER002)
  1161.     AnsiPos INTEGER033, INTEGER034
  1162.     STRING018 = ""
  1163.     InputStr STRING049 + "_", STRING018, 3, 70, Mask_AlNum() + "&- ',.", 8
  1164.     INTEGER002 = Len(STRING018)
  1165.     If (STRING018 == "") Then
  1166.         Inc INTEGER007
  1167.         If (BOOLEAN016) FPutLn 3, "    No handle entered"
  1168.         If (INTEGER007 == INTEGER004) Then
  1169.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering handle"
  1170.             If (BOOLEAN009) Hangup
  1171.             INTEGER007 = 0
  1172.             Return
  1173.         Endif
  1174.         STRING008 = STRING039
  1175.         INTEGER008 = INTEGER004
  1176.         Gosub LABEL038
  1177.         If (BOOLEAN005) Goto LABEL021
  1178.         Return
  1179.     Endif
  1180.     STRING018 = LTrim(STRING018, " ")
  1181.     If (U_RecNum(Upper(STRING018)) <> -1) Then
  1182.         Inc INTEGER007
  1183.         If (BOOLEAN016) FPutLn 3, "    Existing handle (" + Upper(STRING018) + ") entered"
  1184.         If (INTEGER007 == INTEGER004) Then
  1185.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering handle"
  1186.             If (BOOLEAN009) Hangup
  1187.             INTEGER007 = 0
  1188.             Return
  1189.         Endif
  1190.         STRING008 = ReadLine(STRING011, 12)
  1191.         INTEGER008 = INTEGER004
  1192.         Gosub LABEL038
  1193.         If (BOOLEAN005) Goto LABEL021
  1194.         Return
  1195.     Endif
  1196.     FOpen 1, STRING014, 0, 0
  1197.     STRING027 = ""
  1198.     While (1) Do
  1199.         FGet 1, STRING027
  1200.         If (STRING027 == "") Break
  1201.         If (Upper(STRING018) == Upper(STRING027)) Then
  1202.             FClose 1
  1203.             If (BOOLEAN016) FPutLn 3, "    Handle (" + Upper(STRING018) + ") denied, found in trashfile"
  1204.             Inc INTEGER007
  1205.             If (INTEGER007 == INTEGER004) Then
  1206.                 If (BOOLEAN016) FPutLn 3, "    Excessive retries entering handle"
  1207.                 If (BOOLEAN009) Hangup
  1208.                 INTEGER007 = 0
  1209.                 Return
  1210.             Endif
  1211.             STRING008 = ReadLine(STRING011, 13)
  1212.             INTEGER008 = INTEGER004
  1213.             Gosub LABEL038
  1214.             If (BOOLEAN005) Goto LABEL021
  1215.             Return
  1216.         Endif
  1217.     EndWhile
  1218.     FClose -1
  1219.     If (BOOLEAN004) Goto LABEL022
  1220.     STRING005 = TokenStr()
  1221.     Tokenize STRING018
  1222.     If (TokCount() < 2) Then
  1223.         If (BOOLEAN016) FPutLn 3, "    Handle (" + Upper(STRING018) + ") denied, no one-name allowed"
  1224.         Inc INTEGER007
  1225.         If (INTEGER007 == INTEGER004) Then
  1226.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering handle"
  1227.             If (BOOLEAN009) Hangup
  1228.             INTEGER007 = 0
  1229.             Return
  1230.         Endif
  1231.         STRING008 = ReadLine(STRING011, 19)
  1232.         INTEGER008 = INTEGER004
  1233.         Gosub LABEL038
  1234.         If (BOOLEAN005) Then
  1235.             Tokenize STRING005
  1236.             Goto LABEL021
  1237.         Endif
  1238.         Return
  1239.     Endif
  1240.     Tokenize STRING005
  1241.     :LABEL022
  1242.     FClose 1
  1243.     If (BOOLEAN016) FPutLn 3, "    New handle (" + Upper(STRING018) + ") entered and accepted"
  1244.     If (Upper(STRING069) <> "NONE") Then
  1245.         FOpen 1, PPEPath() + "apply.vip", 0, 0
  1246.         STRING027 = ""
  1247.         While (1) Do
  1248.             FGet 1, STRING027
  1249.             If (STRING027 == "") Break
  1250.             If (Upper(STRING018) == Upper(STRING027)) Then
  1251.                 FClose 1
  1252.                 If (BOOLEAN016) FPutLn 3, "    Handle (" + Upper(STRING018) + ") found in VIP file"
  1253.                 STRING050 = ReadLine(STRING011, 62)
  1254.                 Gosub LABEL037
  1255.                 Goto LABEL024
  1256.             Endif
  1257.         EndWhile
  1258.         FClose 1
  1259.         INTEGER007 = 0
  1260.         Gosub LABEL041
  1261.         STRING017 = ""
  1262.         :LABEL023
  1263.         AnsiPos INTEGER033, INTEGER034
  1264.         Print Space(Len(STRING017))
  1265.         AnsiPos INTEGER033, INTEGER034
  1266.         STRING017 = ""
  1267.         InputStr STRING049 + "_", STRING017, 3, 70, Mask_Ascii(), 2 + 1
  1268.         If (STRING017 == "") Then
  1269.             Inc INTEGER007
  1270.             If (BOOLEAN016) FPutLn 3, "    No nup entered"
  1271.             If (INTEGER007 == INTEGER006) Then
  1272.                 If (BOOLEAN016) FPutLn 3, "    Excessive retries entering nup"
  1273.                 If (BOOLEAN011) Hangup
  1274.                 INTEGER007 = 0
  1275.                 Return
  1276.             Endif
  1277.             STRING008 = STRING039
  1278.             INTEGER008 = INTEGER006
  1279.             Gosub LABEL038
  1280.             If (BOOLEAN005) Goto LABEL023
  1281.             Return
  1282.         Endif
  1283.         If (Upper(STRING017) <> Upper(STRING069)) Then
  1284.             Inc INTEGER007
  1285.             If (BOOLEAN016) FPutLn 3, "    Wrong nup (" + Upper(STRING017) + ") entered"
  1286.             If (INTEGER007 == INTEGER006) Then
  1287.                 If (BOOLEAN016) FPutLn 3, "    Excessive retries entering nup"
  1288.                 If (BOOLEAN011) Hangup
  1289.                 INTEGER007 = 0
  1290.                 Return
  1291.             Endif
  1292.             STRING008 = ReadLine(STRING011, 11)
  1293.             INTEGER008 = INTEGER006
  1294.             Gosub LABEL038
  1295.             If (BOOLEAN005) Goto LABEL023
  1296.             Return
  1297.         Endif
  1298.         If (BOOLEAN016) FPutLn 3, "    Correct nup (" + Upper(STRING017) + ") entered"
  1299.     Else
  1300.         AnsiPos GetToken(), GetToken()
  1301.         Print GetToken(), ReadLine(STRING011, 3)
  1302.     Endif
  1303.     :LABEL024
  1304.     If (BOOLEAN014) Then
  1305.         DispFile STRING030, 1 + 4
  1306.         Wait
  1307.     Endif
  1308.     STRING042 = PPEPath() + "cfg\apply.cfg"
  1309.     INTEGER045 = ReadLine(STRING042, 1)
  1310.     INTEGER032 = Random(Time())
  1311.     INTEGER032 = Random(INTEGER045 - 1) + 1
  1312.     DispFile PPEPath() + "graph\apply" + String(INTEGER032), 1 + 4
  1313.     STRING019 = ""
  1314.     :LABEL025
  1315.     Tokenize ReadLine(STRING042, INTEGER032 + 1)
  1316.     INTEGER030 = GetToken()
  1317.     INTEGER031 = GetToken()
  1318.     STRING044 = GetToken()
  1319.     INTEGER007 = 0
  1320.     INTEGER033 = GetToken()
  1321.     INTEGER034 = GetToken()
  1322.     STRING047 = GetToken()
  1323.     INTEGER038 = GetToken()
  1324.     INTEGER037 = GetToken()
  1325.     STRING048 = GetToken()
  1326.     :LABEL026
  1327.     AnsiPos INTEGER033, INTEGER034
  1328.     Print Space(Len(STRING019))
  1329.     AnsiPos INTEGER033, INTEGER034
  1330.     STRING019 = ""
  1331.     InputStr STRING047 + "_", STRING019, 15, 60, Mask_Pwd(), 2 + 1
  1332.     STRING039 = ReadLine(STRING011, 14)
  1333.     If (STRING019 == "") Then
  1334.         Inc INTEGER007
  1335.         If (BOOLEAN016) FPutLn 3, "    No password entered"
  1336.         If (INTEGER007 == INTEGER005) Then
  1337.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering password"
  1338.             If (BOOLEAN010) Hangup
  1339.             INTEGER007 = 0
  1340.             Return
  1341.         Endif
  1342.         STRING008 = STRING039
  1343.         INTEGER008 = INTEGER005
  1344.         Gosub LABEL038
  1345.         If (BOOLEAN005) Goto LABEL026
  1346.         Return
  1347.     Endif
  1348.     If (BOOLEAN016) FPutLn 3, "    Password (" + Upper(STRING019) + ") entered"
  1349.     If (Len(STRING019) < INTEGER049) Then
  1350.         Inc INTEGER007
  1351.         If (BOOLEAN016) FPutLn 3, "    Password too short"
  1352.         If (INTEGER007 == INTEGER005) Then
  1353.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering password"
  1354.             If (BOOLEAN010) Hangup
  1355.             INTEGER007 = 0
  1356.             Return
  1357.         Endif
  1358.         STRING008 = ReplaceStr(ReadLine(STRING011, 15), "%OPTEXT%", String(INTEGER049))
  1359.         INTEGER008 = INTEGER005
  1360.         Gosub LABEL038
  1361.         If (BOOLEAN005) Goto LABEL026
  1362.         Return
  1363.         Goto LABEL026
  1364.     Endif
  1365.     If (Psa(4)) Then
  1366.         Tokenize STRING018
  1367.         STRING016 = GetToken()
  1368.         While (STRING016 <> "") Do
  1369.             If (InStr(Upper(STRING019), Upper(STRING016))) Goto LABEL027
  1370.             STRING016 = GetToken()
  1371.         EndWhile
  1372.         If (InStr(Upper(STRING018), Upper(STRING019)) <> 0) Then
  1373.             :LABEL027
  1374.             Inc INTEGER007
  1375.             If (BOOLEAN016) FPutLn 3, "    Password (" + Upper(STRING019) + ") denied, subset of handle (" + Upper(STRING018) + ")"
  1376.             If (INTEGER007 == INTEGER005) Then
  1377.                 If (BOOLEAN016) FPutLn 3, "    Excessive retries entering password"
  1378.                 If (BOOLEAN010) Hangup
  1379.                 INTEGER007 = 0
  1380.                 Return
  1381.             Endif
  1382.             STRING008 = ReadLine(STRING011, 16)
  1383.             INTEGER008 = INTEGER005
  1384.             Gosub LABEL038
  1385.             If (BOOLEAN005) Goto LABEL025
  1386.             Return
  1387.         Endif
  1388.         Tokenize ReadLine(STRING042, INTEGER032 + 1)
  1389.         INTEGER030 = GetToken()
  1390.         INTEGER031 = GetToken()
  1391.         STRING044 = GetToken()
  1392.         INTEGER007 = 0
  1393.         INTEGER033 = GetToken()
  1394.         INTEGER034 = GetToken()
  1395.         STRING047 = GetToken()
  1396.         INTEGER038 = GetToken()
  1397.         INTEGER037 = GetToken()
  1398.         STRING048 = GetToken()
  1399.     Endif
  1400.     AnsiPos INTEGER038, INTEGER037
  1401.     STRING020 = ""
  1402.     InputStr STRING048 + "_", STRING020, 1, 60, Mask_Pwd(), 2 + 1
  1403.     If (Upper(STRING019) <> Upper(STRING020)) Then
  1404.         Inc INTEGER007
  1405.         If (BOOLEAN016) FPutLn 3, "    Password (" + Upper(STRING019) + ") does not verify (" + Upper(STRING020) + ")"
  1406.         If (INTEGER007 == INTEGER005) Then
  1407.             If (BOOLEAN016) FPutLn 3, "    Excessive retries entering password"
  1408.             If (BOOLEAN010) Hangup
  1409.             INTEGER007 = 0
  1410.             Return
  1411.         Endif
  1412.         STRING008 = ReadLine(STRING011, 17)
  1413.         INTEGER008 = INTEGER005
  1414.         Gosub LABEL038
  1415.         If (BOOLEAN005) Then
  1416.             AnsiPos INTEGER038, INTEGER037
  1417.             Print Space(Len(STRING020))
  1418.             STRING020 = ""
  1419.             Goto LABEL026
  1420.         Endif
  1421.         Return
  1422.     Endif
  1423.     Gosub LABEL041
  1424.     :LABEL028
  1425.     AnsiPos INTEGER033, INTEGER034
  1426.     InputStr STRING049 + "_", STRING022, 1, 60, Mask_Alpha() + "- ", 2
  1427.     If (STRING022 == "") Then
  1428.         STRING008 = STRING039
  1429.         Gosub LABEL040
  1430.         If (BOOLEAN005) Goto LABEL028
  1431.         If (BOOLEAN016) FPutLn 3, "    Apply aborted (CITY) at " + String(Time())
  1432.         Return
  1433.     Endif
  1434.     Gosub LABEL041
  1435.     :LABEL029
  1436.     AnsiPos INTEGER033, INTEGER034
  1437.     InputStr STRING049 + "_", STRING025, 15, 60, Mask_Num() + "-()+ ", 2
  1438.     If (STRING025 == "") Then
  1439.         STRING008 = STRING039
  1440.         Gosub LABEL040
  1441.         If (BOOLEAN005) Goto LABEL029
  1442.         If (BOOLEAN016) FPutLn 3, "    Apply aborted (DATAPHONE) at " + String(Time())
  1443.         Return
  1444.     Endif
  1445.     Gosub LABEL041
  1446.     :LABEL030
  1447.     STRING026 = ""
  1448.     AnsiPos INTEGER033, INTEGER034
  1449.     InputStr STRING049 + "_", STRING026, 15, 60, Mask_Num() + "-()+ ", 2
  1450.     If (STRING026 == "") Then
  1451.         STRING008 = STRING039
  1452.         Gosub LABEL040
  1453.         If (BOOLEAN005) Goto LABEL030
  1454.         If (BOOLEAN016) FPutLn 3, "    Apply aborted (VOICEPHONE) at " + String(Time())
  1455.         Return
  1456.     Endif
  1457.     Gosub LABEL041
  1458.     :LABEL031
  1459.     STRING028 = ""
  1460.     AnsiPos INTEGER033, INTEGER034
  1461.     InputStr "_", STRING028, 15, 60, Mask_Ascii(), 2
  1462.     If (STRING028 == "") Then
  1463.         STRING008 = STRING039
  1464.         Gosub LABEL040
  1465.         If (BOOLEAN005) Goto LABEL031
  1466.         If (BOOLEAN016) FPutLn 3, "    Apply aborted (CPU) at " + String(Time())
  1467.         Return
  1468.     Endif
  1469.     Gosub LABEL041
  1470.     :LABEL032
  1471.     AnsiPos INTEGER033, INTEGER034
  1472.     STRING029 = YesChar()
  1473.     InputYN "", STRING029, 15
  1474.     If (STRING029 == "") Then
  1475.         STRING008 = STRING039
  1476.         Gosub LABEL040
  1477.         If (BOOLEAN005) Goto LABEL032
  1478.         If (BOOLEAN016) FPutLn 3, "    Apply aborted (CLEARSCREEN) at " + String(Time())
  1479.         Return
  1480.     Endif
  1481.     If (Psa(3)) Then
  1482.         STRING042 = PPEPath() + "cfg\address.cfg"
  1483.         INTEGER045 = ReadLine(STRING042, 1)
  1484.         INTEGER032 = Random(Time())
  1485.         INTEGER032 = Random(INTEGER045 - 1) + 1
  1486.         Tokenize ReadLine(STRING042, INTEGER032 + 1)
  1487.         DispFile PPEPath() + "graph\addr" + String(INTEGER032), 1 + 4
  1488.         INTEGER030 = GetToken()
  1489.         INTEGER031 = GetToken()
  1490.         STRING044 = GetToken()
  1491.         AnsiPos GetToken(), GetToken()
  1492.         InputStr GetToken() + "_", STRING032, 15, 60, Mask_Ascii(), 2
  1493.         AnsiPos GetToken(), GetToken()
  1494.         InputStr GetToken() + "_", STRING033, 15, 60, Mask_Ascii(), 2
  1495.         AnsiPos GetToken(), GetToken()
  1496.         InputStr GetToken() + "_", STRING023, 15, 60, Mask_Ascii(), 2
  1497.         AnsiPos GetToken(), GetToken()
  1498.         InputStr GetToken() + "_", STRING034, 15, 60, Mask_Ascii(), 2
  1499.         AnsiPos GetToken(), GetToken()
  1500.         InputStr GetToken() + "_", STRING036, 15, 60, Mask_Ascii(), 2
  1501.         AnsiPos GetToken(), GetToken()
  1502.         InputStr GetToken() + "_", STRING037, 15, 60, Mask_Ascii(), 2
  1503.     Endif
  1504.     If (Psa(2)) Then
  1505.         STRING042 = PPEPath() + "cfg\maiden.cfg"
  1506.         INTEGER045 = ReadLine(STRING042, 1)
  1507.         INTEGER032 = Random(Time())
  1508.         INTEGER032 = Random(INTEGER045 - 1) + 1
  1509.         Tokenize ReadLine(STRING042, INTEGER032 + 1)
  1510.         DispFile PPEPath() + "graph\maid" + String(INTEGER032), 1 + 4
  1511.         INTEGER030 = GetToken()
  1512.         INTEGER031 = GetToken()
  1513.         STRING044 = GetToken()
  1514.         Gosub LABEL041
  1515.         STRING038 = ""
  1516.         :LABEL033
  1517.         AnsiPos INTEGER033, INTEGER034
  1518.         Print Space(Len(STRING038))
  1519.         AnsiPos INTEGER033, INTEGER034
  1520.         STRING038 = ""
  1521.         InputStr STRING049 + "_", STRING038, 15, 60, Mask_Ascii(), 2
  1522.         If (STRING038 == "") Then
  1523.             STRING008 = STRING039
  1524.             Gosub LABEL040
  1525.             If (BOOLEAN005) Goto LABEL033
  1526.             If (BOOLEAN016) FPutLn 3, "    Apply aborted (MAIDEN) at " + String(Time())
  1527.             Return
  1528.         Endif
  1529.     Endif
  1530.     BOOLEAN019 = 0
  1531.     If (ReadLine(PCBDat(), 269) == "0") BOOLEAN019 = 1
  1532.     If (BOOLEAN019) Then
  1533.         Call PPEPath() + "doprot.ppe"
  1534.         STRING006 = ReadLine(PPEPath() + "work\prottmp." + String(PcbNode()), 1)
  1535.         If (BOOLEAN016) FPutLn 3, "    Protocol (" + String(STRING006) + ") selected"
  1536.     Endif
  1537.     BOOLEAN002 = 0
  1538.     If (Psa(1)) Then
  1539.         If (ReadLine(PCBDat(), 270) == "-1") Then
  1540.             Goto LABEL036
  1541.         Endif
  1542.         STRING001 = ReadLine(PCBDat(), 32)
  1543.         STRING003 = ReadLine(STRING001, 1)
  1544.         INTEGER001 = 1
  1545.         BOOLEAN001 = 0
  1546.         While (1) Do
  1547.             If (STRING003 == "") Break
  1548.             STRING003 = Replace(STRING003, ",", " ")
  1549.             Tokenize STRING003
  1550.             STRING002 = GetToken()
  1551.             If (STRING002 <> "") Then
  1552.                 Goto LABEL034
  1553.             Endif
  1554.             STRING002 = GetToken()
  1555.             If (INTEGER010 == ToInteger(STRING002)) Then
  1556.                 For INTEGER045 = 1 To 9
  1557.                     STRING002 = GetToken()
  1558.                 Next
  1559.                 STRING002 = GetToken()
  1560.                 BOOLEAN001 = 1
  1561.                 Break
  1562.             Endif
  1563.             :LABEL034
  1564.             Inc INTEGER001
  1565.             STRING003 = ReadLine(STRING001, INTEGER001)
  1566.         EndWhile
  1567.         If (BOOLEAN001) Goto LABEL035
  1568.         DefColor
  1569.         Cls
  1570.         PrintLn "ERROR: User security not found in PWRD file"
  1571.         PrintLn "Leave feedback at the matrix telling the sysop that the"
  1572.         PrintLn "Security file is incorrect"
  1573.         Wait
  1574.         If (BOOLEAN016) FPutLn 3, "    Security not found (" + String(INTEGER010) + ") in PWRD"
  1575.         Return
  1576.         Goto LABEL036
  1577.         :LABEL035
  1578.         If (Upper(STRING002) == "Y") Then
  1579.             BOOLEAN002 = 1
  1580.             STRING042 = PPEPath() + "cfg\alias.cfg"
  1581.             INTEGER032 = Random(ToInteger(ReadLine(STRING042, 1)) - 1) + 1
  1582.             DispFile PPEPath() + "graph\alias" + String(INTEGER032), 1 + 4
  1583.             Tokenize ReadLine(STRING042, INTEGER032 + 1)
  1584.             INTEGER030 = GetToken()
  1585.             INTEGER031 = GetToken()
  1586.             STRING044 = GetToken()
  1587.             INTEGER033 = GetToken()
  1588.             INTEGER034 = GetToken()
  1589.             STRING017 = ""
  1590.             AnsiPos INTEGER030, INTEGER031
  1591.             Print ReadLine(STRING011, 18)
  1592.             AnsiPos INTEGER033, INTEGER034
  1593.             Print Space(Len(STRING017))
  1594.             AnsiPos INTEGER033, INTEGER034
  1595.             STRING017 = ""
  1596.             InputText STRING049 + "_", STRING017, 3, 70
  1597.             If (STRING017 <> "") Then
  1598.                 STRING004 = STRING017
  1599.             Endif
  1600.             Goto LABEL036
  1601.         Endif
  1602.         BOOLEAN002 = 0
  1603.     Endif
  1604.     :LABEL036
  1605.     If (BOOLEAN016) FClose 3
  1606.     FCreate 1, STRING040, 1, 0
  1607.     FPut 1, STRING018
  1608.     FClose 1
  1609.     Call PPEPath() + "infoform.ppe"
  1610.     Delete STRING040
  1611.     DefColor
  1612.     StartDisp 1
  1613.     Gosub LABEL015
  1614.     If (BOOLEAN016) FAppend 3, STRING057, 1, 0
  1615.     If (BOOLEAN016) FPutLn 3, "    All new user information entered and saved at " + String(Time())
  1616.     INTEGER012 = MinLeft()
  1617.     If (INTEGER012 == 0) Then
  1618.         AdjTime 1
  1619.     ElseIf (INTEGER012 <= INTEGER011) Then
  1620.         AdjTime 0 - INTEGER012 - 1
  1621.     Else
  1622.         AdjTime 0 - INTEGER011
  1623.     Endif
  1624.     KbdStuff STRING018 + STRING053 + STRING053 + STRING053 + STRING053
  1625.     KbdStuff STRING019 + STRING053 + STRING020 + STRING053 + STRING022 + STRING053 + STRING025 + STRING053 + STRING026 + STRING053 + STRING028 + STRING053 + STRING029 + STRING053
  1626.     If (BOOLEAN019) Then
  1627.         KbdStuff STRING006 + STRING053
  1628.     Endif
  1629.     If (BOOLEAN002) Then
  1630.         KbdStuff STRING004 + STRING053
  1631.     Endif
  1632.     If (Psa(3)) KbdStuff STRING032 + STRING053 + STRING033 + STRING053 + STRING023 + STRING053 + STRING034 + STRING053 + STRING036 + STRING053 + STRING037 + STRING053
  1633.     If (Psa(2)) KbdStuff STRING038 + STRING053
  1634.     If (BOOLEAN016) FPutLn 3, String(Date()) + " (" + String(Time()) + ") (" + STRING070 + ") " + "Off Normally (through application)"
  1635.     Gosub LABEL042
  1636.     End
  1637.     :LABEL037
  1638.     AnsiPos INTEGER030, INTEGER031
  1639.     Print STRING050
  1640.     INTEGER035 = GetX()
  1641.     INTEGER036 = GetY()
  1642.     Delay 36
  1643.     AnsiPos INTEGER030, INTEGER031
  1644.     Print Space(INTEGER035 - INTEGER030)
  1645.     Return
  1646.     :LABEL038
  1647.     AnsiPos INTEGER030, INTEGER031
  1648.     BOOLEAN005 = 1
  1649.     If (BOOLEAN012) Goto LABEL039
  1650.     STRING015 = ReadLine(STRING011, 31)
  1651.     BOOLEAN012 = 1
  1652.     :LABEL039
  1653.     STRING043 = Upper(YesChar())
  1654.     InputYN STRING044 + STRING008 + ReplaceStr(STRING015, "%OPTEXT%", String(INTEGER008 - INTEGER007)), STRING043, 1
  1655.     INTEGER035 = GetX()
  1656.     INTEGER036 = GetY()
  1657.     AnsiPos INTEGER030, INTEGER031
  1658.     Print Space(INTEGER035 + 2 - INTEGER030)
  1659.     Select Case (Upper(STRING043))
  1660.         Case Upper(YesChar())
  1661.             Return
  1662.         Case Upper(NoChar())
  1663.             BOOLEAN005 = 0
  1664.             Return
  1665.     End Select
  1666.     Return
  1667.     :LABEL040
  1668.     AnsiPos INTEGER030, INTEGER031
  1669.     BOOLEAN005 = 1
  1670.     STRING043 = Upper(YesChar())
  1671.     InputYN STRING044 + STRING008, STRING043, 1
  1672.     INTEGER035 = GetX()
  1673.     INTEGER036 = GetY()
  1674.     AnsiPos INTEGER030, INTEGER031
  1675.     Print Space(INTEGER035 + 2 - INTEGER030)
  1676.     Select Case (Upper(STRING043))
  1677.         Case Upper(YesChar())
  1678.             Return
  1679.         Case Upper(NoChar())
  1680.             BOOLEAN005 = 0
  1681.             Return
  1682.     End Select
  1683.     Return
  1684.     :LABEL041
  1685.     INTEGER033 = GetToken()
  1686.     INTEGER034 = GetToken()
  1687.     STRING049 = GetToken()
  1688.     Return
  1689.     :LABEL042
  1690.     ShowOff
  1691.     RestScrn
  1692.     ShowOn
  1693.     End
  1694.  
  1695. ;------------------------------------------------------------------------------
  1696. ;
  1697. ; Usage report (before postprocessing)
  1698. ;
  1699. ; ■ Statements used :
  1700. ;
  1701. ;    7       End
  1702. ;    10      Cls
  1703. ;    9       Wait
  1704. ;    326     Goto 
  1705. ;    422     Let 
  1706. ;    32      Print 
  1707. ;    15      PrintLn 
  1708. ;    354     If 
  1709. ;    20      DispFile 
  1710. ;    1       FCreate 
  1711. ;    2       FOpen 
  1712. ;    9       FAppend 
  1713. ;    14      FClose 
  1714. ;    2       FGet 
  1715. ;    1       FPut 
  1716. ;    86      FPutLn 
  1717. ;    12      StartDisp 
  1718. ;    31      Hangup
  1719. ;    5       GetUser
  1720. ;    23      DefColor
  1721. ;    1       Delete 
  1722. ;    15      AdjTime 
  1723. ;    18      InputStr 
  1724. ;    6       InputYN 
  1725. ;    51      Gosub 
  1726. ;    60      Return
  1727. ;    4       Delay 
  1728. ;    29      Inc 
  1729. ;    13      Newline
  1730. ;    26      Tokenize 
  1731. ;    4       InputText 
  1732. ;    18      KbdStuff 
  1733. ;    9       Call 
  1734. ;    58      AnsiPos 
  1735. ;    3       FreshLine
  1736. ;    7       SaveScrn
  1737. ;    8       RestScrn
  1738. ;    1       ShowOn
  1739. ;    1       ShowOff
  1740. ;    4       Redim 
  1741. ;    2       GetAltUser 
  1742. ;
  1743. ;
  1744. ; ■ Functions used :
  1745. ;
  1746. ;    5       -
  1747. ;    1       *
  1748. ;    363     +
  1749. ;    30      -
  1750. ;    110     ==
  1751. ;    22      <>
  1752. ;    10      <
  1753. ;    11      <=
  1754. ;    21      >
  1755. ;    16      >=
  1756. ;    192     !
  1757. ;    16      &&
  1758. ;    13      ||
  1759. ;    12      Len(
  1760. ;    108     Upper()
  1761. ;    1       Left()
  1762. ;    14      Space()
  1763. ;    2       Chr()
  1764. ;    2       InStr()
  1765. ;    1       LTrim()
  1766. ;    23      Random()
  1767. ;    13      Date()
  1768. ;    37      Time()
  1769. ;    2       U_Name()
  1770. ;    2       NoChar()
  1771. ;    10      YesChar()
  1772. ;    6       StripAtx()
  1773. ;    5       Replace()
  1774. ;    1       Inkey()
  1775. ;    71      String()
  1776. ;    3       Mask_Pwd()
  1777. ;    1       Mask_Alpha()
  1778. ;    2       Mask_Num()
  1779. ;    1       Mask_AlNum()
  1780. ;    11      Mask_Ascii()
  1781. ;    7       PCBDat()
  1782. ;    53      PPEPath()
  1783. ;    2       PcbNode()
  1784. ;    98      ReadLine()
  1785. ;    1       OnLocal()
  1786. ;    105     GetToken()
  1787. ;    3       MinLeft()
  1788. ;    7       Exist()
  1789. ;    1       Carrier()
  1790. ;    1       TokenStr()
  1791. ;    8       LangExt()
  1792. ;    1       AnsiOn()
  1793. ;    5       GetX()
  1794. ;    5       GetY()
  1795. ;    1       GrafMode()
  1796. ;    6       Psa()
  1797. ;    3       LoggedOn()
  1798. ;    5       TokCount()
  1799. ;    3       U_RecNum()
  1800. ;    1       ScrText()
  1801. ;    7       ReplaceStr()
  1802. ;    2       ToInteger()
  1803. ;
  1804. ;------------------------------------------------------------------------------
  1805. ;
  1806. ; Analysis flags : RABCdH
  1807. ;
  1808. ; R - Read user ■ 5
  1809. ;     User records are read, this may signify that someone wants to get
  1810. ;     various informations about a user (for example his password), but
  1811. ;     this may also be normal for a program accessing user records (for
  1812. ;     example a User Editor)
  1813. ;     ■ Search for : GETALTUSER
  1814. ;
  1815. ; A - Adjust online time remaining ■ 5
  1816. ;     Program modify the amount of online time remaining, this may
  1817. ;     be a way to bypass time limits
  1818. ;     ■ Search for : ADJTIME
  1819. ;
  1820. ; B - Brute hangup ■ 1
  1821. ;     Program hangup without notification. This may be a good way to
  1822. ;     disconnect a user, but if used randomly, may be very nasty
  1823. ;     ■ Search for : HANGUP, DTROFF
  1824. ;
  1825. ; C - Call child PPE ■ 3
  1826. ;     This is usually normal, but may be a tricky way to launch some
  1827. ;     sysop-only commands.
  1828. ;     ■ Search for : CALL
  1829. ;
  1830. ; d - Access PCBOARD.DAT ■ 2
  1831. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  1832. ;     for many PPE so they can find various informations on the system
  1833. ;     (system paths, max number of lines in messages, ...) but it may also
  1834. ;     be a way to gather vital informations.
  1835. ;     ■ Search for : PCBDAT()
  1836. ;
  1837. ; H - Read Password or Password History ■ 5
  1838. ;     Program is reading the user's password or last password history
  1839. ;     This may be ok for a password manager, but it is very suspect. Check!
  1840. ;     ■ Search for : U_PWDHIST, U_PWD
  1841. ;
  1842. ;------------------------------------------------------------------------------
  1843. ;
  1844. ; Postprocessing report
  1845. ;
  1846. ;    7       For/Next
  1847. ;    5       While/EndWhile
  1848. ;    136     If/Then or If/Then/Else
  1849. ;    7       Select Case
  1850. ;
  1851. ;------------------------------------------------------------------------------
  1852. ;                 AEGiS Corp - Break the routines, code against the machines!
  1853. ;------------------------------------------------------------------------------
  1854.